package com.txzt.gaea.common.enums;

public enum GlobalStatus {

    /**
     * 未开题
     */
    INIT(100,"未开题"),
    /**
     * 开题拟制 - 退回修改
     */
    OPEN_DRAFT_BACK(111,"开题拟制 - 退回修改"),
    /**
     * 开题拟制 - 审核中
     */
    OPEN_DRAFT_CHECK(112,"开题拟制 - 审核中"),
    /**
     * 开题评审 - 资料未上传
     */
    OPEN_REVIEW_UNDO(121,"开题评审 - 资料未上传"),
    /**
     * 开题评审 - 资料已上传
     */
    OPEN_REVIEW_DONE(122,"开题评审 - 资料已上传"),
    /**
     * 开题评审 - 退回修改
     */
    OPEN_REVIEW_BACK(123,"开题评审 - 退回修改"),
    /**
     * 开题评审 - 审核中
     */
    OPEN_REVIEW_CHECK(124,"开题评审 - 审核中"),
    /**
     * 开题提报 - 资料未上传
     */
    OPEN_SUBMIT_UNDO(131,"开题提报 - 资料未上传"),
    /**
     * 开题提报 - 资料已上传
     */
    OPEN_SUBMIT_DONE(132,"开题提报 - 资料已上传"),
    /**
     * 开题提报 - 退回修改
     */
    OPEN_SUBMIT_BACK(133,"开题提报 - 退回修改"),
    /**
     * 开题提报 - 审核中
     */
    OPEN_SUBMIT_CHECK(134,"开题提报 - 审核中"),
    /**
     * 进行中
     */
    DOING(200,"进行中"),
    /**
     * 结题申请 - 资料未上传
     */
    FINISH_APPLY_UNDO(211,"结题申请 - 资料未上传"),
    /**
     * 结题申请 - 资料已上传
     */
    FINISH_APPLY_DONE(212,"结题申请 - 资料已上传"),
    /**
     * 结题申请 - 退回修改
     */
    FINISH_APPLY_BACK(213,"结题申请 - 退回修改"),
    /**
     * 结题申请 - 审核中
     */
    FINISH_APPLY_CHECK(214,"结题申请 - 审核中"),
    /**
     * 结题评审 - 资料未上传
     */
    FINISH_REVIEW_UNDO(221,"结题评审 - 资料未上传"),
    /**
     * 结题评审 - 资料已上传
     */
    FINISH_REVIEW_DONE(222,"结题评审 - 资料已上传"),
    /**
     * 结题评审 - 退回修改
     */
    FINISH_REVIEW_BACK(223,"结题评审 - 退回修改"),
    /**
     * 结题评审 - 审核中
     */
    FINISH_REVIEW_CHECK(224,"结题评审 - 审核中"),
    /**
     * 结题呈报 - 资料未上传
     */
    FINISH_SUBMIT_UNDO(231,"结题呈报 - 资料未上传"),
    /**
     * 结题呈报 - 资料已上传
     */
    FINISH_SUBMIT_DONE(232,"结题呈报 - 资料已上传"),
    /**
     * 结题呈报 - 退回修改
     */
    FINISH_SUBMIT_BACK(233,"结题呈报 - 退回修改"),
    /**
     * 结题呈报 - 审核中
     */
    FINISH_SUBMIT_CHECK(234,"结题呈报 - 审核中"),
    /**
     * 已结题
     */
    FINISH(300,"已结题"),
    /**
     * 延期审核-退回修改
     */
    DELAY_BACK(886,"延期审核 - 退回修改"),
    /**
     * 延期 - 审核中
     */
    DELAY_CHECK(887,"延期 - 审核中"),
    /**
     * 已延期
     */
    DELAY(888,"已延期"),
    /**
     * 终止审核 - 退回修改
     */
    STOP_BACK(997,"终止审核 - 退回修改"),
    /**
     * 终止 - 审核中
     */
    STOP_CHECK(998,"终止 - 审核中"),
    /**
     * 已终止
     */
    STOP(999,"已终止"),
    ;

    private final Integer code;

    private final String info;

    GlobalStatus(Integer code, String info) {
        this.code = code;
        this.info = info;
    }

    public Integer getCode() {
        return code;
    }

    public String getInfo() {
        return info;
    }


    public static String getInfoByCode(Integer code){
        GlobalStatus[] statuses = values();
        for (GlobalStatus status:statuses){
            if (status.getCode().equals(code)) {
                return status.getInfo();
            }
        }
        return "";
    }
}
